//
//  UnityCapture.h
//  UnityCapture
//
//  Created by Adrian on 24.10.09.
//  Copyright 2009 __MyCompanyName__. All rights reserved.
//

#import <Cocoa/Cocoa.h>
#import <QTKit/QTKit.h>

typedef void (*CaptureHasStarted)(int framerate);
typedef void (*CaptureHasEnded)();
typedef void (*ChangeResolution)(int width, int height);

extern void StartUnityCapture(BOOL openWindow);
extern void CaptureFrame(float frameTime);
extern void StartStopCapture();

extern void ResolutionDidChange(int width, int height);

extern void RegisterCaptureStartCallback(CaptureHasStarted fp);
extern void RegisterCaptureEndCallback(CaptureHasEnded fp);
extern void RegisterChangeResolutionCallback(ChangeResolution fp);

extern void CleanUp();

void PassResolutionToCore();

void CaptureStartNotification(int framerate);
void CaptureEndNotification();
void ChangeResolutionNotification(int width, int height);